package com.eedi.framework.notify.controller.sys.vo.message;

import com.eedi.framework.common.enums.UserTypeEnum;
import com.eedi.framework.common.enums.YesOrNoEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Map;

@Schema(description = "系统界面 - 站内信 Response VO")
@Data
public class SysNotifyMessageResp {

    @Schema(description = "sysNotifyMessageId", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
    private String sysNotifyMessageId;

    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25025")
    private Long sysUserId;

    @Schema(description = "用户类型，参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private UserTypeEnum sysUserType;

    @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13013")
    private String sysNotifyTemplateId;

    @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01")
    private String sysNotifyCode;

    @Schema(description = "模版发送人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    private String sysNotifyNickname;

    @Schema(description = "模版内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试内容")
    private String sysNotifyContent;

    @Schema(description = "模版类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private Integer sysNotifyType;

    @Schema(description = "模版参数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Map<String, Object> sysNotifyParams;

    @Schema(description = "是否已读", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
    private YesOrNoEnum sysNotifyReadStatus;

    @Schema(description = "阅读时间")
    private LocalDateTime sysNotifyReadTime;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

}
